﻿// Necroz project team © <2015> <ArchLord2EMU>
// 
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or any later version.
// 
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
// 
// You should have received a copy of the GNU General Public License
// along with this program.  If not, see <http://www.gnu.org/licenses/>.
// 
// Author:Sagara
// Date:2015-09-24-21:59

using ArchLord2Commons.Models;
using FluentNHibernate.Mapping;

namespace AL2Game.Services.Database.Mapping
{
    internal class CharacterMap : 
        ClassMap<PlayerData>
    {
        public CharacterMap()
        {
            Table("t_characters");

            LazyLoad();

            Id(x => x.Id, "a_id").GeneratedBy.Identity();
            Map(x => x.AccountId, "a_account_id").Not.Nullable();
            Map(x => x.Name, "a_character_name").Not.Nullable().Length(25).Unique();
            Map(x => x.Class, "a_class_id").Not.Nullable();
            Map(x => x.Fraction, "a_fraction_id").Not.Nullable();
            Map(x => x.Gender, "a_gender").Not.Nullable();
            Map(x => x.Race, "a_race").Not.Nullable();
            Map(x => x.Data, "a_character_data").Not.Nullable();
        }
    }
}